home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / programr / hdk110a.zip / HLPDK.INF (.txt) < prev    next >
OS/2 Help File  |  1994-01-08  |  57KB  |  1,943 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. HLPDK System Overview ΓòÉΓòÉΓòÉ
  3.  
  4.  
  5.  ΓòöΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòù
  6.  Γòæ                                                                          Γòæ
  7.  Γòæ                               HyperAct Inc.                              Γòæ
  8.  Γòæ                               P.O.Box. 5517                              Γòæ
  9.  Γòæ                         Coralville IA 52241 U.S.A                        Γòæ
  10.  Γòæ                          Compuserve - 76350,333                          Γòæ
  11.  Γòæ                        Phone/Fax - (319) 351-8413                        Γòæ
  12.  Γòæ                                                                          Γòæ
  13.  ΓòÜΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓò¥
  14.  
  15.  
  16. Table Of Contents 
  17.  
  18. The Help Engine Development Kit is a system that allows you to create 
  19. hyper-text database help systems with topics and hot links, using a simple text 
  20. editor and the help compiler. 
  21.  
  22. The help databases can be distributed (free of charge) with the HELPENG or HE 
  23. help engine display programs. 
  24.  
  25. The help database format is release to the public domain, if you own the 
  26. Paradox Engine you can use the help databases with your own programs. 
  27.  
  28. Borland Pascal Users can purchase the Help Engine Source Code even for 
  29. Applications that do not use the paradox engine, using the Native Mem format. 
  30.  
  31. The helpC compiler that is part of this development kit includes the ability to 
  32. create Windows Help source files from the same source the dos help sources are 
  33. created!. Write your help once, and create help databases for Dos, Windows, 
  34. OS/2 and DESQview/X ! 
  35.  
  36. Supported Formats : Native(PX), Native (Mem), Win30, Win31, QuickHelp, 
  37. Microsoft Multimedia Viewer, THELP, TVHC, POPHELP, DESQview/X, OS/2, Text, Word 
  38. Processors (RTF) 
  39.  
  40. From the same source you created your hypertext database, you can create a text 
  41. document with automatic table of contents and index sections! 
  42.  
  43. Using the RTF target you can prepare your professional documentation by 
  44. generating word processors documents, all from the same source! 
  45.  
  46. Features : 
  47.  
  48. Topics, Popups, Links, Keywords, Text Formats, Navigational and Structural 
  49. facilities, Target Code insertion, Multiple module files, Automatic 
  50. Pascal/C/C++ reference generation, Exception handling, Multiple file target 
  51. databases, Graphics, Sound, Groups, Application Launch, Automatic exports 
  52. creation, User defined link templates and more. 
  53.  
  54. Contact HyperAct Inc. if you want to purchase the WINTEXT UI library for Turbo 
  55. Pascal programs, and use the help engine window in your pascal programs. 
  56.  
  57. Related Topics : 
  58. Registration 
  59. Contact 
  60. File List 
  61. Credits 
  62. Help Engine 
  63. Help Compiler 
  64. Quick Start 
  65. Related Products 
  66.  
  67.  
  68. ΓòÉΓòÉΓòÉ 2. Registration ΓòÉΓòÉΓòÉ
  69.  
  70.  
  71.  
  72. ******************************************************************************* 
  73. *         Why Register and registration instructions          * 
  74. ******************************************************************************* 
  75.  
  76. The Help Engine Development Kit (HLPDK) is a shareware product, if you find 
  77. this product valuable, please register it. This section describes the reasons 
  78. you should register. 
  79.  
  80. By registering you will receive a complete discussion of the help engine 
  81. features, and many examples of usage. You will receive a diskette with the 
  82. latest HLPDK version, and DPMI (DOS protected mode) versions of the help 
  83. compiler and engines!. (The memory version of the help engine can display huge 
  84. databases only in the protected mode version). 
  85.  
  86. Your registration will help us to create the next versions of HLPDK, that will 
  87. include more options, and features, some of them might even be your enhancement 
  88. requests!. 
  89.  
  90. A point to consider - If you want to create Windows Help source files, you will 
  91. have to purchase a word processor that can output RTF files, the WORD for 
  92. Windows 2.0 package, for example, is listed at around $500!. 
  93.  
  94. To order your registered copy of HLPDK please do one of the following: 
  95.  
  96.  1.   Order from HyperAct Inc.: 
  97.  You can order directly from HyperAct Inc.. Please refer to the supplied 
  98.  HLPDK.REG file. Edit it, print it and mail it (with a check) to: 
  99.     HyperAct Inc., 
  100.     POBox 5517 
  101.     Coralville Iowa 52241, U.S.A 
  102.  
  103.  2.   Order from PsL: 
  104.  You can order from Public (software) Library with your MC, Visa, AmEx 
  105.  or Discover card by calling 800-242-4PsL (from overseas: 713-524-6394) or 
  106.  by FAX to 713-524-6398 or by CompuServe to 71355,470. 
  107.  These numbers are for ordering only. HyperAct Inc. can NOT be reached at those 
  108.  numbers. Please contact HyperAct Inc. directly for any other type of problem 
  109.  (technical or other), information or request. 
  110.  
  111. Related Topics : 
  112. Contact 
  113. Overview 
  114.  
  115.  
  116. ΓòÉΓòÉΓòÉ 3. CONTACT ΓòÉΓòÉΓòÉ
  117.  
  118.  
  119.  
  120.  Please contact : 
  121.  
  122.  HyperAct Inc., 
  123.  P.O.B 5517 
  124.  Coralville IA 52241, 
  125.  U.S.A 
  126.  
  127. Phone/Fax - (319) 351-8413 
  128.  
  129. e-mail address : CompuServe - 76350,333 
  130.  
  131.  To contact the author directly : 
  132.  
  133. e-mail address : CompuServe - 100274,162 
  134.  
  135. Related Topics : 
  136. Regsiteration 
  137. Overview 
  138.  
  139.  
  140. ΓòÉΓòÉΓòÉ 4. HPLDK Distribution File List ΓòÉΓòÉΓòÉ
  141.  
  142.  
  143.  
  144.  This package contains the following files in the following archives : 
  145.  
  146. Archive A : 
  147. ----------- 
  148.  READMEA.HDK   - File List for Archive A. 
  149.  HELPC.EXE    - Help Compiler. 
  150.  HLPDK.DOC    - This file. 
  151.  HELPC.DOC    - Help Compiler documentation 
  152.  HLPDK.REG    - Registration file. 
  153.  HLPDK.UPG    - Upgrade instructions for registered users. 
  154.  HLPDK.HLP    - winHelp Version of the HLPDK hypertext source. 
  155.  THANKS.WAV   - WAV file used by HLPDK.HLP 
  156.  HLPDK.INF    - OS/2 IPF Version of the HLPDK hypertext source. 
  157.  PROGRAMS.TXT  - HyperAct Inc. shareware products description. 
  158.  HELPDEMO.HDF  - Demo Help Project. 
  159.  2NDDEMO.HDF   - Demo Help Project - file 2. 
  160.  RONP.BMP    - Bitmap used in HLPDK.HDF 
  161.  
  162. Archive B : 
  163. ----------- 
  164.  READMEB.HDK   - File List for Archive B. 
  165.  HELPENG.EXE   - Help Engine (Native Paradox). 
  166.  HE.EXE     - Help Engine (Native Memory). 
  167.  HLPDK.HDF    - Help Development Kit hypertext help database source. 
  168.  HELPDEMO.HLP  - Demo Help Project file for Windows winHelp. 
  169.  HLPDK.HDT    - Help Development Kit help database file. (Native Paradox) 
  170.  HLPDK.SET    - Help Development Kit help database file. 
  171.  HLPDKTOP.DB   - Help Development Kit help database file. 
  172.  HLPDKTOP.PX   - Help Development Kit help database file. 
  173.  HLPDKLNK.DB   - Help Development Kit help database file. 
  174.  HLPDKLNK.PX   - Help Development Kit help database file. 
  175.  HLPDKKEY.DB   - Help Development Kit help database file. 
  176.  HLPDKKEY.PX   - Help Development Kit help database file. 
  177.  MULTI1.HDF   - Multiple file target database demo - 1. 
  178.  MULTI2.HDF   - Multiple file target database demo - 2. 
  179.  MAKMULTI.BAT  - Demo multiple file target database batch file. 
  180.  
  181. Archive L : 
  182. ----------- 
  183.  READMEL.HDK   - File List for Archive L. 
  184.  HDKLIB.DOC   - HLPDK System Library Documentation. 
  185.  HDKLIB.HDF   - HLPDK System Library main file. 
  186.  RTFLIB.HDF   - RTF common functions extension library. 
  187.  VWRLIB.HDF   - MMViewer Extension Library for 256 color bitmaps. 
  188.  IPFLIB.HDF   - System extension library component. (OS/2) 
  189.  WWWLIB.HDF   - HTML Extension Library. 
  190.  TESTLIB.HDF   - A Small test for the library - Source. 
  191.  TESTLIB.HLP   - A Small test for the library - WINHELP format. 
  192.  PRS.BMP     - A Bitmap used in the test. 
  193.  RANCO.AVI    - A Short Video Sequence featuring Ranco The Great. 
  194.  CREDITS.WAV   - Credits in vocal, for the MOVIE demo help database. 
  195.  INTRO.WAV    - Vocal introduction to the MOVIE demo help database. 
  196.  MOVIE.HDF    - A Multimedia Help Database demo source. 
  197.  MOVIE.HLP    - A Multimedia Help Database demo - winHelp version. 
  198.  
  199. Related Topics : 
  200. Overview 
  201. Quick Start 
  202.  
  203.  
  204. ΓòÉΓòÉΓòÉ 5. CREDITS ΓòÉΓòÉΓòÉ
  205.  
  206.  
  207. HLPDK, HELPC, The Help Engines, NewsDB, IL2HDK, NG2HDK, RTF2HDK, RC2HDK and 
  208. other products, were written by Ron Loewy. These products are distributed 
  209. worldwide by HyperAct Inc.. 
  210.  
  211. HELPENG, HELPC were written using Turbo Pascal 6.0, and Borland Pascal 7.0, 
  212. Paradox Engine 2.0, and Paradox Engine 3.0, 3.01. (Trademarks of Borland 
  213. International). 
  214.  
  215. Windows, Microsoft, HC and Quick Help are trademarks or copyrights of Microsoft 
  216. Corp. 
  217.  
  218. The HELPENG program was written using the WINTEXT UI library, (c) 1991,93 Loewy 
  219. Ron. 
  220.  
  221. THELP, HL and TVHC are Trademarks or copyrights Borland International. 
  222.  
  223. POPHELP is a copyright of TurboPower Software. 
  224.  
  225. TVHC support, and other ideas were suggested by MunLeong Chan. 
  226.  
  227. Parts of the Help Engines were generated using Ron Loewy's WTGEN and dbGen CASE 
  228. code generators. 
  229.  
  230. Parts of the Help Compiler were generated using Ron Loewy's dbGen database code 
  231. generator. 
  232.  
  233. Yaniv Golan helped me with beta-testing, debugging and suggestions. He is also 
  234. the  author of the HPCHDK and POPHDK packages. 
  235.  
  236. John Murphy notified me of the paragraph formatting difficulties that lead to 
  237. the .PARAGRAPH .END-PARAGRAPH formatting capabilities. 
  238.  
  239. DESQview/X is a trademark of Quarterdeck Office Systems. 
  240.  
  241. MDVXHELP is a copyright (1992) of Daniel J. Bodoh. I have used his excelent 
  242. documentation of DESQview/X help format to generate code to this environment. 
  243.  
  244. The HC31 problem with characters with ordinal values biggen than 127 was solved 
  245. thanks to Mr. Lars Fosdal of Norway. 
  246.  
  247. OS/2 is a registered trademark of International Bussiness Machines. 
  248.  
  249. The Text Cursor restore problem in the help engines was reported by Prof. Timo 
  250. Salmi of the Univ. of VAASA, Finland. 
  251.  
  252. D.J. Murdoch suggested the Cross Reference Report enhancements, and winhelp Go 
  253. To Search list box title problem. 
  254.  
  255. Word for Windows is a trademark of Microsoft corp. 
  256.  
  257. WordPerfect, WordPerfect for Windows are trademarks of WordPerfect corporation. 
  258.  
  259. Lotus, AMI PRO are trademarks of Lotus corp. 
  260.  
  261. Reuben Halevi from HyperAct Inc. did a lot to make this product real. 
  262.  
  263. Slren Pingel Dalsgaard notified me of the small scroll box bug in helpeng, as 
  264. well as some spelling mistakes in helpC. 
  265.  
  266. Related Topics : 
  267. Overview 
  268.  
  269.  
  270. ΓòÉΓòÉΓòÉ 6. Quick Start ΓòÉΓòÉΓòÉ
  271.  
  272.  
  273.  
  274. From the command line enter HELPC HELPDEMO to compile the demo help database. 
  275.  
  276. After the compilation process is ended, enter HELPENG HELPDEMO to browse the 
  277. demo help database. 
  278.  
  279. If you want to compile for windows : 
  280.  
  281. from the command line enter HELPC HELPDEMO /W31 
  282. and after that HC31 HELPDEMO 
  283. (HC31 is the Microsoft Help Compiler) 
  284.  
  285. from windows, open the HELPDEMO.HLP file from the windows help engine. (Notice 
  286. - if you do not have the HC help compiler from windows, we have included a 
  287. compiled version of HELPDEMO (HELPDEMO.HLP) so you will be able to feel the 
  288. quality of the output that can be generated, and decide if you want to purchase 
  289. the HC31 program (Included with the SDK, BC++, TPW, BP and probably some other 
  290. packages), or download it from one of the sites Microsoft had uploaded it to). 
  291.  
  292. If you use windows 3.0, or want your help file to be compatible with winHelp 
  293. 3.0 use : 
  294.     HELPC /W30 HELPDEMO 
  295.     HC HELPDEMO 
  296.  
  297. To compile for THELP use : 
  298.     HELPC /TH+ HELPDEMO 
  299.     HL -x -e100 -p -i -oHELPDEMO.TPH HELPDEMO.HL 
  300.  
  301. To compile for QuickHelp : 
  302.     HELPC /QH+ HELPDEMO 
  303.     HELPMAKE -e15 -oHELPDEMO.QH HELPDEMO.SRC 
  304.  
  305. To compile for TVHC : 
  306.     HELPC /TV+ HELPDEMO 
  307.     TVHC HELPDEMO.TXT 
  308.  
  309. To compile for POPHELP : 
  310.     HELPC /PH+ HELPDEMO 
  311.     MAKEHELP /Q HELPDEMO 
  312.  
  313. To compile for DESQview/X : 
  314.     HELPC /XD+ HELPDEMO 
  315.     MDVXHELP HELPDEMO.HLP @HELPDEMO.LST 
  316.     COPY HELPDEMO.HLP d:\DVX\HELP 
  317.  
  318. To compile for Native Mem Format : 
  319.     HELPC /MT+ HELPDEMO 
  320. (Use HE HELPDEMO to view that database). 
  321.  
  322. To compile for IPF (OS/2) format : 
  323.     HELPC /OS2 HELPDEMO 
  324.     Switch to an OS/2 session. 
  325.     IPFC /INF HELPDEMO 
  326. (Use the VIEW Command to browse the database). 
  327.  
  328. To compile for the Microsoft Multimedia Viewer 2.0 : 
  329.     HELPC /MMV HELPDEMO 
  330.     Open the MMViewer compiler (WMVC.EXE) 
  331.     File|Open HELPDEMO.MVP 
  332.     Compile (F5) 
  333. (Use the VIEWER2.EXE program to browse the database). 
  334.  
  335. To create a HTML database for use with a WWW server : 
  336.  
  337.  Define the .ROOTNODE and .ROOTPATH of your server in the helpdemo source. 
  338.  HELPC /WWW HELPDEMO 
  339.  Copy the *.HTM files to the server's path. 
  340.  
  341. To create a text document with table of contents, glossary and index : 
  342.     HELPC /TXT HELPDEMO 
  343.  
  344. To create a word processor document with table of contents, 
  345. glossary and index : 
  346.     HELPC /RTF HELPDEMO 
  347.     import helpdemo.rtf to your word-processor, and update fields. 
  348.     (e.g. Microsoft WinWord : File|Open to open the document 
  349.                  Answer Yes to convert from Rich Text Format 
  350.                  Press F9 to update embedded format fields 
  351.                  somewhere in the first page (after the 
  352.                  Table Of Contents title), and in the last 
  353.                  page (after the index title).) 
  354.  
  355. Related Topics : 
  356. Overview 
  357. File List 
  358.  
  359.  
  360. ΓòÉΓòÉΓòÉ 7. The Help Engine ΓòÉΓòÉΓòÉ
  361.  
  362.  
  363. To start the help engine program enter HELPENG on the command line, and choose 
  364. the help database you want to view from the list box. Use the Tab key to cycle 
  365. between hot-link words, and press Enter to go to that link. 
  366.  
  367. If you know the name of the SET file of the database you want to activate, you 
  368. can enter it on the command line, and the help engine will display it. 
  369.  
  370. If you have a mouse, you can use it to point at the hi-lighted links, and 
  371. activate them by pressing the left mouse button. 
  372.  
  373. Press the ALT-T key combination to choose from a list of TOPICS in the 
  374. database, Press ALT-B to go back to the previous displayed TOPIC, Press ALT-X 
  375. to exit the help engine. 
  376.  
  377. The exit command can be given by pressing the right mouse button. 
  378.  
  379. Use F10 to open the menu bar, and use the arrow keys to navigate the options. 
  380. When you find the option you are interested in, Use the Enter key to execute 
  381. it, or the Esc key to cancel. The menu bar can be navigated using the mouse as 
  382. well. 
  383.  
  384. To create a new help database please refer to the HELPC documentation file. 
  385.  
  386. If you want to use the Native Mem Format Databases, Please use the supplied 
  387. HE.EXE program. 
  388.  
  389. Related Topics : 
  390. Trouble Shooting 
  391. Overview 
  392.  
  393.  
  394. ΓòÉΓòÉΓòÉ 8. Trouble Shooting ΓòÉΓòÉΓòÉ
  395.  
  396.  
  397. If you receive some kind of an error message while using the help development 
  398. kit please refer to this section. 
  399.  
  400. tableOps: xxxx error message : 
  401.  
  402. This message is generated by the Paradox Engine if an internal error occurs, if 
  403. you receive a message that is not understood (e.g. Table is busy), please try 
  404. one of the following : 
  405.  1. Try running the Help Compiler or the Help Engine with another input and 
  406.   notice if the problem exists, if it does, turn to the next entry, 
  407.   otherwise try to see what the difference between the inputs is. 
  408.  2. Check your free memory, try to move some TSR's from memory, or use the 
  409.   protected mode compiler/engine available with the registered version. 
  410.  3. Check if you have loaded dos SHARE program, it is advised to use SHARE 
  411.   with programs that use the Paradox Engine. If you receive a table busy 
  412.   error, try to see if you have another program that uses the same table 
  413.   in another session (Windows/DESQview etc..). 
  414.  4. PANIC - Please contact the distibuter/author for additional help. 
  415.  
  416. Microsoft's HC31 help compiler will generate a error in RTF file error : 
  417.  
  418.  1. Re-compile using HELPC 4.0+. This should solve the problem, if the problem 
  419.   still exists - please try steps 2 and 3, and notify the author. 
  420.  2. Use a binary disk editor to look at the character at the position x - 1 
  421.   in the RTF file (where x is the error position reported by HC31). 
  422.  3. Try to replace that charqacter from a special PC oem character to a 
  423.   "standard" ascii character (such as *). If the problem still occurs, 
  424.   please contact HyperAct Inc./The author, otherwise - you probably came 
  425.   accross a character that HC31 can not handle. In that case - try using 
  426.   HC300b (the one that generates winHelp 3.0 format), or delete these 
  427.   characters from your source HDF file. 
  428.  
  429. Borland's HL help linker will generate a FE02: Out Of Memory error : 
  430.  1. Re-compile using HELPC V3.0+, to include ;INDEX directives after the 
  431.   screen's definitions. 
  432.  
  433. Borland's HL help linker will complain about undefined context numbers : 
  434.  1. You probably have a contents.h file in the current directory, that hl 
  435.   tries to use to bind the help topics to Borland's IDE on-line help, 
  436.   try renaming this file, and re-compile with HL. 
  437.  
  438. HelpC will not create the database when compiling to Native Mem (/MT+) : 
  439.  1. Try compiling with report generation on (/R+) to Native Paradox 
  440.   (/PX+) format. If there are errors, consult the HELPC.LST file, fix 
  441.   them, and re-try. 
  442.  2. If the database is BIG, you might not have enough memory - Remember that 
  443.   Native Mem tables are generated in memory. You will have to use the 
  444.   HelpCX protected mode compiler (Available with the registered version). 
  445.  
  446. HelpEng/HE will complain on an old-database when trying to open a help 
  447. database with it : 
  448.  1. Re-Compile the database using helpC. 
  449.  
  450. HelpEng/HE will complain on un-supported database format, when trying to 
  451. open a database : 
  452.  1. HelpEng can not display Native Mem databases, and HE can not display 
  453.   Native PX databases. Use the other help engine supplied. 
  454.  
  455. HE will not be able to open a Native Mem database : 
  456.  1. Use the protected mode HEX help engine. (Available for registered users). 
  457.  
  458. Where is HL - Borland's Help Linker : 
  459.  1. HL is not included with Borland C++ or Borland Pascal, Borland sells an 
  460.   additional package called Borland Open Architecture (and Borlad OA for 
  461.   Pascal) that include among other things - the THELP help linker. 
  462.  
  463. HelpEng/HE will complain on an old-database when tring to open a help database 
  464. with it : 
  465.  1. Re-Compile the database using helpC. 
  466.  
  467. HelpEng/HE will complain on un-supported database format, when trying to open a 
  468. database : 
  469.  1. HelpEng can not display Native Mem databases, and HE can not display 
  470.   Native PX databases. Use the other help engine supplied. 
  471.  
  472. HE will not be able to open a Native Mem database : 
  473.  1. Use the protected mode HEX help engine. (Available for registered users). 
  474.  
  475. We have encountered some users that ran into problems, because they did not use 
  476. the dos SHARE program. We advise that you will always load the SHARE program in 
  477. your AUTOEXEC.BAT file. 
  478.  
  479. Related Topics : 
  480. Overview 
  481. Help Engine 
  482. Help Compiler 
  483.  
  484.  
  485. ΓòÉΓòÉΓòÉ 9. Help Compiler ΓòÉΓòÉΓòÉ
  486.  
  487.  
  488. The HELPC help compiler is a dos command line program that receives a help 
  489. definition file (.HDF) and produce a help database. 
  490.  
  491.  The helpC command line is : 
  492.  
  493.  HELPC source.fil [/NT:topic-table-name] 
  494.          [/NL:link-table-name] 
  495.          [/ND:data-file-name] 
  496.          [/NK:keywords-table-name] 
  497.          [/D:conditional-define] 
  498.          [/ED=P|C|+] 
  499.          [/EL=x] 
  500.          [/FC+] 
  501.          [/EA+] 
  502.          [/TN+] 
  503.          [/R+]  [/ST-] [/CS+] [/EP+] [/WD-] [/RM-] 
  504.          [/W+]  [/W30] [/W31] [TH+] [/QH+] [/TV+] [/PH+] [/XD+] 
  505.          [/PX+] [/MT+] [/OS2] [/TXT] [/RTF] [/PP+] [/MMV] 
  506.          [/WWW] 
  507.  
  508. When the target of the compiler is one of the native help engines the output of 
  509. the compiler is a set data file called source.SET, that includes the names of 
  510. the other help database components. 
  511.  
  512. Please Notice - if the /W+ /W30 or /W31 switch is defined, the compiler will 
  513. generate a .HPJ and .RTF files that can be used with the Microsoft HC (v3.00b) 
  514. or HC31 help compiler, and output a .HLP windows help file!. 
  515.  
  516. By default the help compiler does not produces a help cross reference report on 
  517. the topics/links used in the database, if the /R+ switch is set, a 
  518. cross-reference report will be generated, and database integrity indicators 
  519. will be given. Notice, however, that with the /R+ switch HELPC is much slower 
  520. than with /R-. 
  521.  
  522. IMPORTANT - Scan the output cross reference report for links defined, that are 
  523. not defined as topics! 
  524.  
  525. Notice - An additional switch is available that instructs the help compiler to 
  526. indicate it's parse and code generation progress. Use the /EP+ switch to see 
  527. that the helpC compiler is active. Please understand that the compile process 
  528. can take a long time, on complex help databases. This switch does nothing more 
  529. that ensure to you that the help compiler is alive. 
  530.  
  531. The /ST switch defines if the topic name defined in the .TOPIC command can 
  532. include embeded spaces. By default this switch is set to /ST- (No embedded 
  533. spaces). 
  534.  
  535. The /CS switch turns Topics and Links case sensativity to ON. Use this switch 
  536. with care - Only if you must have a lower/mixed case index in THELP or POPHELP 
  537. use this switch. Notice that help databases that compile fine with case 
  538. sensativity set to off, might fail to do so in case sensativity on. By deafult 
  539. this switch is set to off (-). 
  540.  
  541. The /XD switch generates code to the MDVXHELP help compiler, available free in 
  542. the file DVXHLP10.ZIP on the Internet. When this switch is given, a set of 
  543. cover and section files is generated, as well as a response file that should be 
  544. used to compile the help database. 
  545.  
  546. The /OS2 switch generates IPF source code. You must compile the generated code 
  547. with IPFC, from within an OS/2 session (window or full screen). 
  548.  
  549. The /WD switch controls Warning Display. By default Warning Display is On, if 
  550. you do not want to see the Warnings issued by the compiler when a topic name or 
  551. link are found to be incompatible with the target source, and helpC translate 
  552. them to be syntax compatible with the target. 
  553.  
  554. Use the /RTF switch to create a word-processor ready RTF file, import this file 
  555. (and update the fields e.g.- F9 in WinWord) to create a professional formatted 
  556. documentation from the same source code!. 
  557.  
  558. Use the /TXT switch to create a text file document from your .HDF source. With 
  559. this feature you can create on-line help and printed documentation from the 
  560. same source!. 
  561.  
  562. The /RM- switch uses disk cross-reference report tables. Usage of this option 
  563. will allow the creation of cross-reference report for huge databases. This 
  564. options will slow the creation of reports, use it only for databases so big 
  565. that the report can not be generated using memory tables. 
  566.  
  567. The /ED= switch creates the external references (if any are defined) in one of 
  568. the following formats : /ED=P (Default) creates the external definitions in a 
  569. pascal unit, /ED=C creates the external definitions in a C header file, and 
  570. /ED=+ creates a C++ header file. 
  571.  
  572. The /EL= switch sets the Error Level used. This switch can be overriden by the 
  573. .ERRORLEVEL statement. The acceptable error levels are : 
  574.  
  575.    0   No Check  - (Default) - No action is taken. 
  576.    1   Trap    - The link is replaced to a special topic named ERROR. 
  577.    2   Strip   - The link is replaced by the Text part only. 
  578.    3   Delete   - The text and link parts are deleted. 
  579.    9   Abort   - helpC will abort with an error message, indicating the 
  580.             line number. 
  581.  
  582. Please refer to the Exception Handling section below about helpC error 
  583. processing. 
  584.  
  585. The /FC+ switch forces topic collection, even if the error level is 0, that 
  586. does not require collection. 
  587.  
  588. Use the /PP+ switch to create an export file, to be used in multiple database 
  589. target files projects. 
  590.  
  591. The /EA+ switch is used to export all topics in a database, durin a PreProcess 
  592. target generation, compared to exporting only topics that have the .EXPORT 
  593. attributes. 
  594.  
  595. The /MMV switch is used to generate Microsoft Multimedia Viewer 2.0 code, You 
  596. must use the WMVC.EXE program that came with your copy of the  Multimedia 
  597. Publishing ToolKit (MM PTK) to compile this code. 
  598.  
  599. The /WWW switch is used to generate World Wide Web HTML (Hypertext Markup 
  600. Language) sources, for use in the internet distributed hypertext database. 
  601.  
  602. If the /TN+ switch is used, Topics are collected to the Table Of Contents 
  603. table, and the .INSERT TOC command can be used. If a database has a .INSERT TOC 
  604. with the /TN+ switch not specified, the compiler will stop and complain. 
  605.  
  606. Related Topics : 
  607. Overview 
  608. Command Line 
  609. Help Engine 
  610. Technical Documentation 
  611.  
  612.  
  613. ΓòÉΓòÉΓòÉ 10. Command Line ΓòÉΓòÉΓòÉ
  614.  
  615.  
  616. The compiler switches are defined on the command line. These switches can be 
  617. placed before and after the source file name. The compiler will look for a file 
  618. named HELPC.CFG in the current directory, and process it before any command 
  619. line switches are processed. 
  620.  
  621. Switches on the command line will over-ride switches set before them, on the 
  622. command line or in one of the lines of the response options file(s). 
  623.  
  624. Response option files can be specified by prefixing their name with a @ sign. 
  625.  
  626.  
  627.  Examples : 
  628.  
  629.  If our HELPC.CFG file, in the current directory is : 
  630.  
  631. /W31 
  632. /R- 
  633.  
  634.  And we compile using HELPC HELPDEMO 
  635.  
  636.  The helpdemo.hdf file will be compiled, with the target set to winhelp 3.1 
  637.  and no cross-reference report. 
  638.  
  639.  Compile using HELPC HELPDEMO /r+ 
  640.  
  641.  Will create winhelp 3.1 sources, but a report will be generated. 
  642.  
  643.  Compile using HELPC /w- HELPDEMO 
  644.  
  645.  Will generate native format help database, no report is generated. 
  646.  
  647.  If we have a file called MYSWITCH.CFG with the following lines : 
  648.  
  649. /TH+ 
  650. /ST- 
  651. /CS+ 
  652.  
  653.  And we compile using HELPC @MYSWITCH.CFG HELPDEMO 
  654.  
  655.  A THELP source, using Long Topic Names, with case sensitivity will be 
  656.  generated, no cross reference report is generated. (HELPC.CFG contains /r-) 
  657.  
  658. Related Topics : 
  659. Overview 
  660. Help Compiler 
  661.  
  662.  
  663. ΓòÉΓòÉΓòÉ 11. Technical Documentation ΓòÉΓòÉΓòÉ
  664.  
  665.  
  666. The Help Engine database is a combination of text that is read by the user, and 
  667. a Topic and Links database that allows the user to view the topics he is 
  668. interested in, using hyper-text methods. 
  669.  
  670. This document describes the HLPDK language syntax, HELPC compiler operation and 
  671. the native databases structure. 
  672.  
  673. Related Topics : 
  674. Help Compiler 
  675. Help Engine 
  676. Help Definition Format 
  677. Native Format Structure 
  678.  
  679.  
  680. ΓòÉΓòÉΓòÉ 12. Native Database Structure ΓòÉΓòÉΓòÉ
  681.  
  682.  
  683.  
  684.  Each help database is built of 5 components : 
  685.  
  686.  1. Help Data File   - this file contains the raw text data. 
  687.  2. Topic Index    - a database table that contains the topic names, and 
  688.             the references to the topics in the Data File. 
  689.  3. Links Index    - a database table that contains the list of links 
  690.             defined for each topic, and positional data. 
  691.  4. Keywords Index   - a database table that contains the list of keywords, 
  692.             and the topics that have these keywords. 
  693.  5. Set Data File   - a database configuration file that contains the 
  694.             names of the 3 components defined above, and some 
  695.             additional information. 
  696.  
  697. Version 1.x is the bare-bones version that includes only the basic operations 
  698. needed from a hyper-text database, this version is implemented using the 
  699. Paradox Engine V3.0 to manage the Topic and Link index tables. 
  700.  
  701. Version 2.x has a new field in the topic table - the title field, help 
  702. databases that were compiled with V1.x will not be executed by version 2.x, 
  703. they will have to be re-compiled!. 
  704.  
  705. Version 3.x fields have different length - the databases have to be 
  706. re-compiled. 
  707.  
  708. Version 5.0+ has a new entry in the help set file, database have to be 
  709. re-compiled, or the value 128 should be added in the last line of the help set 
  710. file, and the version number should be changed to 5.0. 
  711.  
  712. Version 6.0+ has added the keyword support - a new database table is added, and 
  713. a new set format is defined. Help databases will have to be re-compiled for 
  714. Natice targets. 
  715.  
  716. In Version 7.0 the title field has been expanded once more - to 70 characters. 
  717. Help databases will have to be re-compiled. 
  718.  
  719. In Version 8.0 the tType field was added to the Topics database. Old databases 
  720. will have to be re-compiled. 
  721.  
  722. The format of the help database is released to the public domain, if you 
  723. implement a database viewer on this database structure, I would be happy to 
  724. receive a copy .. 
  725.  
  726. Related Topics : 
  727. Help Compiler 
  728. Help Engine 
  729. Help Definition Format 
  730. Topic Index Format 
  731. Links Index Format 
  732. Keywords Index Format 
  733. Set File Format 
  734.  
  735.  
  736. ΓòÉΓòÉΓòÉ 13. Help Definition Format ΓòÉΓòÉΓòÉ
  737.  
  738.  
  739.  
  740.  The help definition file format is as follows : 
  741.  
  742. | remarks ... 
  743. | remarks ... 
  744. | .ENTRY topic-name 
  745. | [.TITLE optional title for topic] 
  746. | [.TITLEATTR paragraph attributes] 
  747. | [.KEYWORDS optional keywords for topic] 
  748. | [.GROUPS group1 [group2 ..]] 
  749. | [.LIST optional browse list for topic] 
  750. | [.ACTION stuff to do when topic is entered] 
  751. | [.EXPORT] 
  752. | topic text and link reference .. 
  753. | topic text and link reference .. 
  754. | topic text and link reference .. 
  755. | topic text and link reference .. 
  756. | .END-ENTRY 
  757. | remarks ... 
  758. | .ENTRY topic2-name 
  759. | [.KEYWORDS keyword1 keyword2 ..] 
  760. | [.GROUPS group3 [group2 ..]] 
  761. | [.PARAGRAPH [paragraph attributes]] 
  762. | topic 2 text and link reference .. 
  763. | topic 2 text and link reference .. 
  764. | topic 2 text and link reference .. 
  765. | [.END-PARAGRAPH] 
  766. | additional topic2 text ... 
  767. | .END-ENTRY 
  768. | .POPUP popup-name 
  769. | [.TITLE optional title for popup] 
  770. |  definition for some reference 
  771. |  ... 
  772. | .END-POPUP 
  773.  
  774.  As can be seen - lines between the .ENTRY and .END-ENTRY keywords are 
  775.  the lines processed by the help compiler, to create the help database, 
  776.  every other line is considered a remark, and is not parsed or evaluated by 
  777.  the help compiler. 
  778.  
  779.  The topic text and link reference lines are simple text lines, with 
  780.  special link marks. 
  781.  
  782.  A sample will provide the details : 
  783.  
  784. This is a text help line that includes one ~link~link-topic-name~ in it. 
  785.  
  786.  This line will be displayed in the help engine program as : 
  787.  
  788. This is a text help line that includes one link in it. 
  789.  
  790.  The word "link" will be in a different color then the rest of the line, 
  791.  to indicate that this is a link. If the user hi-lights the link, and 
  792.  presses Enter (or points the mouse cursor and clicks), the help engine will 
  793.  look for a topic called "link-topic-name", and display it. 
  794.  
  795.  Browse the HELPDEMO.HDF file for a demo of a help database definition file. 
  796.  
  797.  Notes : 
  798.  
  799.  1. The keywords .TOPIC and .END-TOPIC can be used instead of .ENTRY and 
  800.  .  .END-ENTRY respectively. 
  801.  
  802.   An equivalent pair of keywords are .TOP and .ENDTOP . 
  803.  
  804.   You can use .EXT-TOPIC instead of .TOPIC/.ENTRY etc.. - topics created 
  805.   with that statement are the same as regular topics, only - an external 
  806.   reference is created for them to be linked to a pascal/C/C++ program. 
  807.  
  808.  2. Keywords are NOT case sensitive. (.topic = .TOPIC = .eNTry) 
  809.  
  810.  3. The .TITLE keyword is optional. If no title is defined, the topic name 
  811.   is used as a title. The .TITLEATTR keyword is used to describe the 
  812.   title text attributes. The syntax is the same as the .PARAGRAPH text 
  813.   attributes. Please refer to the Text Attributes section below for further 
  814.   discussion of the optional paragraph attributes. In the WINHELP and 
  815.   Multimedia targets, the title can have links in it, so graphic and 
  816.   inter-paragraph text attributes can be applied. 
  817.  
  818.  
  819.  4. If you want the ~ sign to appear in your help database, use ~~ in your 
  820.   help source file. (e.g. "This is a ~~" will be "This is a ~" in the final 
  821.   help database.). 
  822.  
  823.  5. The Optional .PARAGRAPH and .END-PARAGRAPH commands in the help topic text, 
  824.   specify the start and the end of a paragraph. This feature is currently 
  825.   supported only for MMViewer, WWW, winhelp, RTF and IPF sources. This feature 
  826.   is important if you want to create long paragraphs that will wrap correctly 
  827.   when a user resizes the help window. Please refer to the 
  828.   Text Attributes section below for further discussion of the optional 
  829.   paragraph attributes. 
  830.  
  831.   The .PAR and .ENDPAR keywords can be used instead of the .PARAGRAPH 
  832.   and .END-PARAGRAPH keywords. 
  833.  
  834.  6. When a .PARAGRAPH is issued, a .END-PARAGRAPH MUST be specified at the 
  835.   end of the paragraph. These commands must appear as the first words in 
  836.   a line. The text after the .PARAGRAPH command is NOT part of the text 
  837.   of the help topic, but paragraph text attributes can be specified there. 
  838.  
  839.  
  840.  7. The optional .KEYWORDS command can appear after the .TITLE command 
  841.   (If there is one), or the .TOPIC header (otherwise), Use this command 
  842.   to help the user search for sets of topics that are connected to a 
  843.   specific keyword. The syntax of this command is : 
  844.   .KEYWORDS keyword-1 keyword-2 ... 
  845.   Multiple .KEYWORDS lines are allowed, if there are a lot of KEYWORDS, 
  846.   that will not fit on a single line, multiple .KEYWORDS lines can be 
  847.   used. (NewsDB - The usenet hypertext generator uses that feature). 
  848.  
  849.  8. .POPUP and .END-POPUP (or .ENDPOP) are used to define popup topics that 
  850.   are displayed on the same screen as the original topic that includes the 
  851.   link to them. Popup entries allow the user to consult a glossary, and 
  852.   not lose the topic he was reading. Popups are supported in the winhelp, 
  853.   OS/2 IPF, Native PX/Mem and MMViewer formats. In the other formats Popups are 
  854.   used as standard topics. 
  855.  
  856.  9. In the Text/RTF targets .POPUP entries will be automatically included in a 
  857.   Glossary file that you can add as an appendix to your documentation. 
  858.  
  859. 10. The .GROUPS statement associate a topic with several groups, you can 
  860.   create topics with menus to groups of other topics using the statement 
  861.   ".INSERT GROUP group-name" in your topic text. Please refer to the 
  862.   Groups section of this document for additional discussion of this 
  863.   function. 
  864.   Multiple .GROUPS lines are allowed, if there are a lot of GROUPS, 
  865.   that will not fit on a single line, multiple .GROUPS lines can be 
  866.   used. 
  867.  
  868. 11. The .LIST attribute associates a topic to a browse sequence, in this 
  869.   name. The topic will be after the previous topic that belongs to this 
  870.   list, and before the next topic that belongs to this list. The list 
  871.   browse sequences are currently supported in the WINHELP and MMViewer 
  872.   targets only. 
  873.  
  874. 12. Graphic support is available by using a Graphic Link, a Graphic Link, 
  875.   is a link that has the following format : 
  876.   ~Text to display if not a graphic target~graphic-name~ 
  877.   Where graphic-name is the name of a graphic object defined with the 
  878.   .GRAPHIC statement. Please refer to the Graphics Section below for more 
  879.   information. 
  880.  
  881. 13. If the .EXPORT attribute is specified, HELPC will automatically create 
  882.   a reference to the topic in an export file. This function can be useful 
  883.   when you create a multiple file target database. This command can be very 
  884.   useful when you have to create a complex multi file database, and use a 
  885.   'make' utility to maintain the project. For more information about this 
  886.   attribute, please refer to the Complex Projects section below. 
  887.  
  888. 14. Sound support is available by using a Sound link. This link will play a 
  889.   sound file, when the user clicks the link. The link has the following 
  890.   format :  ~Text-That-Will-Appear~soundLinkName~ 
  891.   Where Text-That-Will-Appear will be displayed on the screen, and whem the 
  892.   text will be clicked, the sound object defined as soundLinkName will be 
  893.   played. Please refer to the Sound section below. 
  894.  
  895. 15. Applications can be launced from the help database by clicking a link, that 
  896.   was defined as an application. The syntax is : ~Text~application-link~ 
  897.   where Text is the text that will appear to the user, and application-link 
  898.   is the identifier of the application that will be executed, as defined in 
  899.   the .APPLICATION statement. Please refer to the Application Launch section 
  900.   below for more information. 
  901.  
  902. 16. User defined links (.USERLINK) can be created and used in the topic text, 
  903.   please refer to the Links section below for discussion of this feature. 
  904.  
  905. 17. The .ACTION attribute of the topic, can be used to start some action(s), 
  906.   when the user enters the topic. This feature is supported in the WINHELP 
  907.   and MULTIMEDIA VIEWER targets. 
  908.   e.g.  .ACTION SndPlaySound("EXPLAIN.WAV",1) 
  909.   Will use the MMSYSTEM high level sound routine (That has to be registered) 
  910.   to play a WAV file called EXPLAIN.WAV. 
  911.   Multiple .ACTION lines can be specified. 
  912.  
  913. Additional commands include : 
  914.  
  915. | .TEXTCOLOR, . LINKCOLOR and .LINKHIGH - VGA colors of text and links in 
  916. normal 
  917. and high (selected) states in the native help formats. 
  918.  
  919. The syntax of these commands is : 
  920.  
  921. | .TEXTCOLOR w 
  922.  
  923. or 
  924.  
  925. | .LINKCOLOR x 
  926.  
  927. or 
  928.  
  929. | .LINKHIGH y 
  930.  
  931. Where w, x and y are the color of the text/link, which is a combination of the 
  932. color of the foreground with the color of the background multiplied by 16. 
  933.  
  934. The colors that can be used for both fore and background are : 
  935.  
  936.  Black   = 0 
  937.  Blue    = 1 
  938.  Green   = 2 
  939.  Cyan    = 3 
  940.  Red    = 4 
  941.  Magenta  = 5 
  942.  Brown   = 6 
  943.  LightGray = 7 
  944.  
  945. The colors that can be used only for the foreground are : 
  946.  
  947.  DarkGray   = 8 
  948.  LightBlue   = 9 
  949.  LightGreen  = 10 
  950.  LightCyan   = 11 
  951.  LightRed   = 12 
  952.  LightMagenta = 13 
  953.  Yellow    = 14 
  954.  White     = 15 
  955.  
  956. For example : to set the normal color of a link to light green on blue, use 
  957.  
  958. | .LINKCOLOR 26 
  959.  
  960. where 26 = 10 + 16 * 1. (10 = light green, 1 = blue). 
  961.  
  962. Creating Multiple Source Projects : 
  963.  
  964. Use the .INCLUDE commands in the source of your .HDF file, to include an 
  965. additional source file. .INCLUDE is not supported in the middle of a topic. 
  966.  
  967. For Example : 
  968.  
  969.  .. some stuff 
  970.  
  971. | .include 2ndfile.hdf 
  972.  
  973.  .. additional stuff 
  974.  
  975. will process 2NDFILE.HDF in the middle of our source file. 
  976.  
  977. Please notice - .INCLUDE commands can be nested in your source file, 
  978. it is however not recommended to nest them too deep, helpC does not 
  979. close the input file when a .INCLUDEd file is processed, in order to 
  980. minimize help generation time - there is however, a limit on the number 
  981. of open files that can be used by a program - this is a limit set by dos. 
  982.  
  983. Code Insertion : 
  984.  
  985. Use the .INSERT CODE statement to insert target code that will not be 
  986. translated by helpC. helpC will send un-translated code to the output target 
  987. until a .END-CODE statement is found. 
  988.  
  989. For example - creating a small table in winhelp format : 
  990. | .. normal code 
  991. | .ifdef windows 
  992. | .insert code 
  993. | \pard{\tab column1\tab column2\tab column3}\par 
  994. | \pard{\par col1data\tab col2data ..}\par 
  995. | .end-code 
  996. | .endif 
  997.  
  998. Table Of Contents : 
  999.  
  1000. Use the .INSERT TOC command to insert the Table Of Contents of all the topics 
  1001. defined in the database, sorted by alphanumeric order. Notice that databases 
  1002. that use this command should be compiled using the /TN+ switch 
  1003.  
  1004. GUI Font based targets : 
  1005.  
  1006. The .FIXEDFONT command is used to define a non proportional font as the 
  1007. default font of the help database. Currently the only targets affected 
  1008. by this command are MMViewer, winHelp, RTF. If you find that your help 
  1009. databases are not aligned after they are converted to winHelp format, use 
  1010. this command and re-compile. This command has no effect on targets that are 
  1011. different from the targets mentioned above. 
  1012.  
  1013. The .PCFONT command is used to define a font that has the standard pc 
  1014. character set (Terminal - in windows). If you convert a text based 
  1015. database that uses the PC's special characters, use this command to 
  1016. set the default font. This command has no effect on targets that are 
  1017. different from the targets mentioned above. 
  1018.  
  1019. Text targets : 
  1020.  
  1021. The .PAGELENGTH and .PAGEWIDTH statements set the printed page length in 
  1022. rows, and width in columns. The syntax is .PAGELENGTH xx or .PAGEWIDTH yy . 
  1023.  
  1024. Font Pallete : 
  1025.  
  1026. Use the .SETFONT command to change or add fonts to the font palette, The 
  1027. syntax is : .SETFONT font-number 'Font-Name-In-The-Target-Language'. If 
  1028. for example we would like to change font number 3 in the windows target 
  1029. to be a font X of family Y we would write : 
  1030. | .SETFONT 3 'Y X' 
  1031.  
  1032. Text Attributes : 
  1033.  
  1034. Use the .TITLEDEFAULTS statement to set the default text attributes of the 
  1035. topics titles in the help database. These defaults can be over-ridden with 
  1036. the .TITLEATTR statement in the topic definition. Please refer to the Text 
  1037. Attributes section below for discussion of paragraph text attributes. 
  1038.  
  1039. Use the .ATTRDEFAULTS statement to set the default text attributes of 
  1040. paragraph text in the database. Please refer to the Text Attributes section 
  1041. below. 
  1042.  
  1043. Error Handling : 
  1044.  
  1045. Use the .ERRORLEVEL command to set the error level. The syntax is .ERRORLEVEL x 
  1046. where x is one of the following : 
  1047.  
  1048.    0   No Check  - (Default) - No action is taken. 
  1049.    1   Trap    - The link is replaced to a special topic named ERROR. 
  1050.    2   Strip   - The link is replaced by the Text part only. 
  1051.    3   Delete   - The text and link parts are deleted. 
  1052.    9   Abort   - helpC will abort with an error message, indicating the 
  1053.             line number. 
  1054.  
  1055. Please refer to the Exception Handling section below about helpC error 
  1056. processing. 
  1057.  
  1058. Alias Topics : 
  1059.  
  1060. Use the .ALIAS command to substitute a Popup/Topic name with another name. The 
  1061. syntax is .ALIAS newname origname. Whenever a newname link is found, the alias 
  1062. of origname is used. This can be very useful when you want to give multiple 
  1063. names to a topic, or when HLPDK source is the target of an incremental 
  1064. compiler. 
  1065.  
  1066. Use the .CONTENTS command to change the initial (Overview) screen displayed by 
  1067. the Help Engines. By Default this screen is called OVERVIEW. 
  1068.  
  1069. Graphic Support : 
  1070.  
  1071. Use the .GRAPHIC statement to define a graphic object, that can be referenced 
  1072. elsewhere in your document. The syntax is : 
  1073. | .GRAPHIC graphic-name path-to-graphic-file 
  1074. Please refer to the Graphics section below, for further information. 
  1075.  
  1076. External Links : 
  1077.  
  1078. Use the .EXTLINK command to define links in external database file. With this 
  1079. command you can create multiple file target database projects. Please refer to 
  1080. the Links section below for more information about this feature. 
  1081.  
  1082. Sound Support : 
  1083.  
  1084. Use the .SOUND command statement to define a sound object, that can be used as 
  1085. a Sound link elsewhere in your document. The syntax is : 
  1086. | .SOUND sound-name sound-file-name 
  1087. Please refer to the Sound section below for more information about this 
  1088. feature. 
  1089.  
  1090. Application Launch : 
  1091.  
  1092. The .APPLICATION statement is used to define an application object that can be 
  1093. launced by an application-launch-link. The syntax is : 
  1094. | .APPLICATION application-identifer application-definition 
  1095.  
  1096. where application-identifer is the identifer that will be used in 
  1097. application-launch-links, and application-definition is the path to the 
  1098. application. If the application needs to get parameters, the path and the 
  1099. parameters are specified in quotes. Please refer to the Application Launch 
  1100. section below for additional information. 
  1101.  
  1102. External Routines Support : 
  1103.  
  1104. The .ROUTINE statement can be used to define external routines that can be 
  1105. called from the help database. The syntax is : 
  1106. | .ROUTINE routine-name module-name parameter-definition 
  1107.  
  1108. Where routine-name is the name of the procedure/function to be called, 
  1109. module-name is the name of the library/DLL that the routine resides in (No need 
  1110. to add the .DLL extension), and parameter-definition is the definition of the 
  1111. parameters that the routine receives. The parameter definitions is a string 
  1112. with one character describing each parameters type. The following definitions 
  1113. are used : 
  1114.  
  1115. char   C definition        Pascal definition 
  1116.  
  1117. u    unsigned short (WORD)    Word 
  1118. U    unsigned long  (DWORD)   Longint 
  1119. i    short int          byte 
  1120. I    int             integer 
  1121. s    near char * (PSTR)     PChar 
  1122. S    far char * (LPSTR)     PChar 
  1123. v    void 
  1124.  
  1125. Embedding Files : 
  1126.  
  1127. Use the .EMBEDD statement to add files to your help database. The files defined 
  1128. as embedded will appear in the [baggage] section of your winHelp/MMViewer 
  1129. project definition and will be stored with the rest of the database. 
  1130.  
  1131. The syntax is : 
  1132.  
  1133. | .EMBEDD file-id path-to-file 
  1134.  
  1135. Where file-id is the name the file will be referenced by, and path-to-file is 
  1136. the path to the file on the author's machine. 
  1137.  
  1138. Distributed Hypertext Databases : 
  1139.  
  1140. Use the .ROOTNODE and .ROOTPATH statements to define the root node address, and 
  1141. the root path address of the hypertext database, when compiling to a 
  1142. distributed hypertext database format. (e.g. WWW). 
  1143.  
  1144. The syntax is : 
  1145.  
  1146. | .ROOTPATH root-path-string 
  1147. | .ROOTNODE root-node-address 
  1148.  
  1149. Related Topics : 
  1150. Technical Documentation 
  1151. Conditional Defines 
  1152. Groups 
  1153. Text Attributes 
  1154. Graphics 
  1155. Sound 
  1156.  
  1157.  
  1158. ΓòÉΓòÉΓòÉ 14. Links - internal/external and special ΓòÉΓòÉΓòÉ
  1159.  
  1160.  
  1161. Links are the special "commands" embedded in a topic text, that provide special 
  1162. functionality in the target database. 
  1163.  
  1164. All links are described in the topic text as a combination of text that will 
  1165. appear, and a link identifier. 
  1166.  
  1167. The syntax, in a topic text for a link is : 
  1168.  
  1169.  .. Some Standard Text .. ~Link Text~Link Id~ .. some more text .. 
  1170.  
  1171. Link Id is a unique identifier that describe this link. 
  1172.  
  1173. The most common link, is a topic link, this link allows the user to click on 
  1174. the Link Text, that is usually in a different color than the rest of the text, 
  1175. and by clicking on this texs, the topic in the help engine window is replaced, 
  1176. with the topic that has the same identifier as the Link Id specified in the 
  1177. identifier. (A Topic is defined by a .topic statement somewhere else in the 
  1178. source file). 
  1179.  
  1180. Another type of link, is the Popup link. When the Link Id is the Id of a popup, 
  1181. clicking on the link will display the popup text in a window, and retain the 
  1182. original topic in the help engine window. (A Popup is defined by a .popup 
  1183. statement somewhere else in the source file). 
  1184.  
  1185. Links can be used, to embedd non-textual information in the topic text. A 
  1186. common non-textual is a graphic link, when the Link Id is the Id of a graphic 
  1187. object (defined by a .graphic statement somewhere else in our source), the 
  1188. place of the link will be replaced by a graphic picture, in targets that 
  1189. support graphics (such as WINHELP and OS/2 IPF), and remain the Link Text in 
  1190. targets that do not supprot graphics. 
  1191.  
  1192. Another non-textual link is a sound link. A sound link plays a sound file when 
  1193. a sound object (defined with the .SOUND statement) is clicked by the user. 
  1194.  
  1195. Applications can be lauched from a link, when the link key is the identifer of 
  1196. an application defined with the .APPLICATION statement. 
  1197.  
  1198. Other links can be created using "User Defined Link Templates", with this 
  1199. feature a link template can be created to support additional code translations. 
  1200. Please refer to the Extending HDF section below for additional information on 
  1201. User defined links. 
  1202.  
  1203. When HELPC recognizes a link, the following sequence of link recognition occurs 
  1204. 1. Try to match link with a graphic object. 
  1205. 2. If failed - try to match link with a sound object. 
  1206. 3. If failed - try to match link with an application object. 
  1207. 4. If failed - try to match link with a user defined link. 
  1208. 5. If failed - try to match link with a popup. 
  1209. 6. If failed - try to match link with a topic. 
  1210. 7. If failed - try to match link with an external topic. (.EXTLINK) 
  1211. 8. If failed - opearate according to the current error-level. 
  1212.  
  1213. Related Topics : 
  1214. Application Launch 
  1215. Graphics 
  1216. Sound 
  1217. Exception Handling 
  1218. Technical Documentation 
  1219. .HDF Syntax 
  1220. Help Compiler 
  1221.  
  1222.  
  1223. ΓòÉΓòÉΓòÉ 15. Conditional Defines ΓòÉΓòÉΓòÉ
  1224.  
  1225.  
  1226. The helpC compiler supports conditional define directives that allow you to 
  1227. tailor your source according to define symbols that are known to the compiler. 
  1228.  
  1229. You can use the .ifdef, .ifndef, .else and .endif directives to test the target 
  1230. of your compile and do different things according to this target. 
  1231.  
  1232. If for example you have a Windows bitmap you want to include in your generated 
  1233. RTF file, when you compile to winhelp format, but, you would like to use a 
  1234. statement in other targets that do not support graphics, you could do the 
  1235. following : 
  1236.  
  1237. | .ifdef windows 
  1238. |  some text {\bmc mybmp.bmp\} some more text 
  1239. | .else 
  1240. |  some text AND STATEMENT HERE some more text 
  1241. | .endif 
  1242.  
  1243. When the compiler will generate the code, the RTF command \bmc will be inserted 
  1244. in the output of the compiler for windows targets (/W30, /W31), and a simple 
  1245. text statement will be inserted otherwise. 
  1246.  
  1247. The conditional directives supported are : 
  1248.  
  1249. | .ifdef  SYMBOL - Compile code only if SYMBOL is defined. 
  1250. | .ifndef SYMBOL - Compile code only if SYMBOL is NOT defined. 
  1251. | .endif     - Any .ifdef/.ifndef should be terminated by a .endif . 
  1252. | .else      - Reverse the previous .ifdef/.ifndef 
  1253.  
  1254. The following SYMBOLS are automatically defined by the compiler : 
  1255.  
  1256. Symbol      When Defined 
  1257. ------      ------------ 
  1258. DEF       /PX+ 
  1259. W31       /W31 
  1260. W30       /W30 
  1261. THS       /TH+ 
  1262. QHS       /QH+ 
  1263. TVH       /TV+ 
  1264. PHS       /PH+ 
  1265. DVX       /XD+ 
  1266. MEM       /MT+ 
  1267. OS2       /OS2 
  1268. TXT       /TXT 
  1269. WINDOWS     /W30, /W31 
  1270. THELP      /TH+ 
  1271. QUICKHELP    /QH+ 
  1272. TVHC       /TV+ 
  1273. NATIVEPARADOX  /PX+ 
  1274. POPHELP     /PH+ 
  1275. DESQVIEW/X    /XD+ 
  1276. NATIVEMEMORY   /MT+ 
  1277. VERx.y      When Compiling with helpC Vx.y 
  1278. NATIVE      /PX+, /MT+ 
  1279. DOCUMENT     /TXT, /RTF 
  1280. RTFBASED     /W+, /RTF, /W30, /W31, /MMV 
  1281. PRP       /PP+ 
  1282. PREPROCESS    /PP+ 
  1283. MMV       /MMV 
  1284. MMVIEWER     /MMV 
  1285. VIEWER      /MMV 
  1286. WWW       /WWW 
  1287. HTML       /WWW 
  1288.  
  1289. You can define your own conditional defines on the command line using the /D: 
  1290. switch of helpC. 
  1291.  
  1292. e.g. 
  1293.  
  1294. Source : 
  1295.  
  1296. | ... some text .. 
  1297. | .ifdef mydef 
  1298. |  Special Text for mydef situation 
  1299. | .endif 
  1300. | ... more text 
  1301.  
  1302. and you compile using HELPC /D:MYDEF the special text will be included. 
  1303.  
  1304. Related Topics : 
  1305. Technical Documentation 
  1306. Help Definition 
  1307.  
  1308.  
  1309. ΓòÉΓòÉΓòÉ 16. Text Attributes ΓòÉΓòÉΓòÉ
  1310.  
  1311.  
  1312. Topic's text can receive visual attributes such as a font, size, bold, italic 
  1313. etc.. by using the paragraph attributes on the .PARAGRAPH (.par) line. Text 
  1314. attributes are currently supported in the MMViewer, winhelp and RTF targets. 
  1315. Some attributes are also supported in HTML (WWW) and IPF targets. 
  1316.  
  1317. The attributes that can be applied to text are : 
  1318.  
  1319. Font       - The font the text will be displayed in. 
  1320. Bold       - The text is displayed in bold characters. 
  1321. Italic      - The text is displayed in italic characters. 
  1322. Underline    - The text is displayed in underline characters. 
  1323. Size       - The size of the font. 
  1324. Box       - The paragraph can be contained in a box. 
  1325. Align      - The paragraph can be alligned. 
  1326. Color      - The text foreground color. 
  1327.  
  1328. The syntax is : 
  1329.  
  1330. | .PARAGRAPH [attr1 attr1-parameters [attr2 attr2-parameters [..] ]] 
  1331.  
  1332. The allowed parameters to attributes are : 
  1333.  
  1334. 1. FONT font-number-in-font-palette : The font number in the font palette, 
  1335. there 
  1336. is a standard font palette for MMViewer, winhelp and rtf targets that include 
  1337. the following fonts : 
  1338.  
  1339.  0 : Times Roman     (roman Tms Rmn) 
  1340.  1 : Symbol       (decor Symbol) 
  1341.  2 : Helvetica      (swiss Helv) 
  1342.  3 : LinePrinter     (modern LinePrinter) 
  1343.  4 : Terminal      (roman Terminal) 
  1344.  5 : Times New Roman   (roman Times New Roman) 
  1345.  6 : Arial        (swiss Arial) 
  1346.  7 : CG Times (WN)    (roman CG Times (WN)) 
  1347.  8 : Courier       (modern Courier) 
  1348.  9 : Modern       (modern Modern) 
  1349. 10 : Script       (script Script) 
  1350. 11 : Univers (WN)    (swiss Univers (WN)) 
  1351. 12 : Wingdings      (nil Wingdings) 
  1352. 13 : MS Sans Serif    (swiss MS Sans Serif) 
  1353.  
  1354. 2. BOLD ON|OFF - Set bold mode to on/off. 
  1355.  
  1356. 3. ITALIC ON|OFF - Set italic mode to on/off. 
  1357.  
  1358. 4. UNDERLINE ON|OFF - Set underline mode on/off. 
  1359.  
  1360. 5. SIZE font-size - Set the size of the font. 
  1361.  
  1362. 6. BOX NONE|NORMAL|THICK|SHADOW|DOUBLE - Print paragraph in a box which has one 
  1363. of the described borders : NONE is no border at all. 
  1364.  
  1365. 7. ALIGN LEFT|RIGHT|CENTER|JUSTIFY - Print the text in the paragraph aligned 
  1366. to one of the sides, the center or justified in the paragraph. 
  1367.  
  1368. 8. COLOR color-number-in-color-palette - The numbers are the same numbers used 
  1369. for dos native systems and described in the help definition format section 
  1370. above, regarding the .LINKCOLOR, .TEXTCOLOR and .LINKHIGH statements. 
  1371.  
  1372. Example : 
  1373.  
  1374. | .PAR BOX SHADOW FONT 13 BOLD ON 
  1375. |   ... some text here .. 
  1376. | .ENDPAR 
  1377.  
  1378. Will display the paragraph in a shadow bordered box, using font 13 in the 
  1379. palette (MS Sans Serif assuming that the original palette is used) with bold 
  1380. characters. 
  1381.  
  1382. Related Topics : 
  1383. Technical Documentation 
  1384. Help Definition 
  1385.  
  1386.  
  1387. ΓòÉΓòÉΓòÉ 17. Groups Definition and Usage ΓòÉΓòÉΓòÉ
  1388.  
  1389.  
  1390.  
  1391. Topics can be associated to groups using the .GROUPS statement in the topic 
  1392. heading. Menus to these groups can later be created by using the 
  1393. command .INSERT GROUP group-name in the topic text. 
  1394.  
  1395. An example will clarify the use of this function : 
  1396.  
  1397. Let us assume that we have a car's collectors database, where the description 
  1398. of each car is a topic. We would like to present a hierarchy to the user that 
  1399. looks like that : 
  1400.  
  1401. Overview Screen 
  1402.   | 
  1403.   +--------- Cars by Country 
  1404.   |        | 
  1405.   |        +------------ U.S.A ... List of cars manufactured in U.S.A 
  1406.   |        +------------ U.K. 
  1407.   |        +------------ Italy 
  1408.   | 
  1409.   +--------- Cars by Maker 
  1410.   |        | 
  1411.   |        +------------ Alfa-Romeo ... List of Alfa-Romeo models 
  1412.   |        +------------ GM 
  1413.   |        +------------ Mazda 
  1414.   | 
  1415.   +--------- Cars by type 
  1416.           | 
  1417.           +------------ 4x4 & Jeeps 
  1418.           +------------ Sport Cars 
  1419.           +------------ Family Sedans 
  1420.  
  1421. We will create group references in the topics using the .GROUPS statement, 
  1422. The Alfa Romeo Spider 2000 topic will look like : 
  1423.  
  1424. | .topic alfa_romeo_spider_2000 
  1425. | .title Alfa Romeo Spider 2000 
  1426. | .keywords alfa spider convertible sport classic 
  1427. | .groups italian alfa sport 
  1428. | The Alfa Romeo ... 
  1429. | .end-topic 
  1430.  
  1431. The Italian Cars Directory topic will be : 
  1432.  
  1433. | .topic italy_directory 
  1434. | .title Italian Cars Directory 
  1435. | .keywords directory 
  1436. | Cars Manufactured in Italy : 
  1437. | .insert group italian 
  1438. | .end-topic 
  1439.  
  1440. If our database includes 3 cars that have a reference to the Italian group 
  1441. this will be the equivalent of writing : 
  1442.  
  1443. | .topic italy_directory 
  1444. | .title Italian Cars Directory 
  1445. | .keywords directory 
  1446. | Cars Manufactured in Italy : 
  1447. | ~Alfa Romeo Spider 2000~alfa_romeo_spider_2000~ 
  1448. | ~Ferrari 308 GTS~Ferrari_308_gts~ 
  1449. | ~Fiat Uno 70S~fiat_uno_70s~ 
  1450. | .end-topic 
  1451.  
  1452. Related Topics : 
  1453. Technical Documentation 
  1454. .HDF Syntax 
  1455. Conditional Defines 
  1456.  
  1457.  
  1458. ΓòÉΓòÉΓòÉ 18. Exception Handling ΓòÉΓòÉΓòÉ
  1459.  
  1460.  
  1461. helpC provides mechanism to handle link exceptions. An exception is a link to 
  1462. an identifier that is not defined as a Topic or PopUp. In order to help you 
  1463. find these errors helpC contains the cross reference report that can be 
  1464. produced using the /R+ switch. You can browse the HELPC.LST file generated by 
  1465. helpC if a cross reference report is generated, and search for the string ERROR 
  1466. that describes undefined links. 
  1467.  
  1468. helpC provides additional exception handling facilities. When an error is found 
  1469. during compile helpC can perform on of the following actions : 
  1470.  
  1471. 0: No Check - Default - helpC does not do anything. The link is passed as is to 
  1472.        the target. The target help engine/compiler will handle the 
  1473.        exception as it is implemented. 
  1474.  
  1475. 1: Trap   - helpC will replace the link key with the key ERROR. It is the 
  1476.        responsibility of the help database author to provide such a 
  1477.        topic/popup. 
  1478.  
  1479. 2: Strip   - helpC will pass the text of the link to the target with no link 
  1480.        support. The text will appear as normal text. 
  1481.  
  1482. 3: Delete  - Both the text and the link will be deleted and will not appear in 
  1483.        the target. 
  1484.  
  1485. 9: Abort   - helpC will abort, with an error message, indicating the line the 
  1486.        link is defined. This mode is recommended when you are debugging 
  1487.        your help database. 
  1488.  
  1489. You can set the error level using the following techniques : 
  1490.  
  1491. - Use the /EL=x switch on the helpC command line. 
  1492.  
  1493. - Use the .ERRORLEVEL x .HDF statement. 
  1494.  
  1495. Important Points : 
  1496.  
  1497. 1. When errorLevel = 0 (default) no topic database is created during pass 1, if 
  1498. you set .errorlevel somewhere in your source, after some topics/popups have 
  1499. been defined, these topics will not be in the symbol table created by helpC and 
  1500. will be considered an exception!. 
  1501.  
  1502. 2. You can use the /FC+ switch to "Force Collection" of Topics data, even when 
  1503. the ERRORLEVEL is 0. 
  1504.  
  1505. Related Topics : 
  1506. Technical Documentation 
  1507. .HDF Syntax 
  1508. Help Compiler 
  1509.  
  1510.  
  1511. ΓòÉΓòÉΓòÉ 19. Native Graphics Support ΓòÉΓòÉΓòÉ
  1512.  
  1513.  
  1514. Native Graphic support is provided by graphic "links", and graphic object 
  1515. definitions. 
  1516.  
  1517. In order to incorporate graphics into your database, use the .GRAPHIC command 
  1518. to define a graphic object. This command associates a graphic file with a 
  1519. unique identifier. 
  1520.  
  1521. Whenever you want to use the graphic image in one of your topics, you should 
  1522. define a link with the following syntax : 
  1523.  
  1524. ~Link Text in non-graphic targets~graphic-identifier~ 
  1525.  
  1526. If the target of the compiler has no HELPC native graphic support, the "Link 
  1527. Text in non-graphic targets" sentance will be used, if the target is supported, 
  1528. the graphic-identifier will be displayed. 
  1529.  
  1530. In this version of HLPDK native graphics support is provided for WINHELP, 
  1531. Microsoft Multimedia Viewer (MMViewer), WWW and OS/2 IPF Bitmaps. 
  1532.  
  1533. Notice that the graphic-identifier must be unique, and must not be identical to 
  1534. a topic/popup/sound name. Please refer to the Links section for link 
  1535. recognition sequence information. 
  1536.  
  1537. Link Modifiers are attributes that are defined after the link name, separated 
  1538. with the ";" character. 
  1539.  
  1540. The following modifiers are defined for Graphic support : 
  1541.  
  1542. Left  : Align the graphic object to the left of the window. 
  1543. Right  : Align the graphic object to the right of the window. 
  1544. Center : Align the graphic object to the center of the window. 
  1545.  
  1546. Please refer to one of the standard documentation examples that are supplied 
  1547. with the HLPDK package, for demos of graphic use. 
  1548.  
  1549. Related Topics : 
  1550. Technical Documentation 
  1551. .HDF Syntax 
  1552. Help Compiler 
  1553. Links 
  1554.  
  1555.  
  1556. ΓòÉΓòÉΓòÉ 20. Native Sound Support ΓòÉΓòÉΓòÉ
  1557.  
  1558.  
  1559.  
  1560. Sound support is provided by sound "links", and sound object definition. 
  1561.  
  1562. In order to incorporate sound into your database, use the .SOUND command to 
  1563. define a sound object. This command associates a sound file (WAV in windows) 
  1564. with a unique identifier. 
  1565.  
  1566. Whenever you want to use the sound object in one of your topics, you have to 
  1567. define a link with the following syntax : 
  1568.  
  1569. ~Text To Be Clicked On~sound-identifier~ 
  1570.  
  1571. Currently, Sound support is available only in the MMViewer and winHelp targets. 
  1572. The name of the sound object in this version should be a WAV file, that is in 
  1573. the \WINDOWS directory. The WINDOWS MMSYSTEM multi-media support looks for the 
  1574. sound file in this directory!. 
  1575.  
  1576. Related Topics : 
  1577. Technical Documentation 
  1578. .HDF Syntax 
  1579. Help Compiler 
  1580. Links 
  1581.  
  1582.  
  1583. ΓòÉΓòÉΓòÉ 21. Application Launch ΓòÉΓòÉΓòÉ
  1584.  
  1585.  
  1586. Applications can be launched from the help database using application launch 
  1587. links, and application definitions. 
  1588.  
  1589. An application has to be defined using the .APPLICATION statement that uses the 
  1590. following syntax : | .APPLICATION application-id 'application-activation-code' 
  1591. Where application-id is the identifier to the application that will be used in 
  1592. application launch links, and the application-activation-code is the [optional] 
  1593. path to the application and the application executable. If parameters should be 
  1594. specified, the application-activation-code should be surrounded by quotes, with 
  1595. a space separating the path to the application from the parameters. 
  1596.  
  1597. When you want to include an application launch in the topic text, the 
  1598. application-id should be used as the key of a link. 
  1599. e.g. ~Press Here To Run XXX.EXE~application-id~ 
  1600.  
  1601. Related Topics : 
  1602. Technical Documentation 
  1603. .HDF Syntax 
  1604. Help Compiler 
  1605. Links 
  1606.  
  1607.  
  1608. ΓòÉΓòÉΓòÉ 22. Complex Projects (Multiple file target databases) ΓòÉΓòÉΓòÉ
  1609.  
  1610.  
  1611. HELPC supports multiple file target databases, with the use of the following 
  1612. HDF statements : .EXTLINK, and .EXPORT . 
  1613.  
  1614. When a link that exists in an external database is needed, the .EXTLINK 
  1615. statement is used to define the properties and attributes of that link. 
  1616.  
  1617. The most important property - is the database name, that defines which database 
  1618. should be called. Other attributes include the title, keywords, numeric 
  1619. references and groups this external topic should be associated with. 
  1620.  
  1621. If we have a "simple" complex project, with only 2 databases, and links between 
  1622. them, we might not find it difficult to define the "public" links of database 1 
  1623. in database 2, and vice versa, but - if the project involves more databases, we 
  1624. might find it hard to create these public references to all external database, 
  1625. in each database. We can, however, define .EXTLINK statements of the public 
  1626. links of each database, in a separate file, and use the .INCLUDE statement to 
  1627. include them, in the other statements. 
  1628.  
  1629. HELPC can be used, with the /PP+ switch, to create these "reference" export 
  1630. files, with the name of database.EXP when we use the following command : 
  1631. HELPC /PP+ database-name 
  1632.  
  1633. If we want a .EXTLINK statement to be created for a topic, we have to add the 
  1634. .EXPORT attribute to the topic defintion. Amn alternative is to use the /EA+ 
  1635. switch of the HELPC compiler, that exports all topics in the database, in a 
  1636. PreProcess target compile (/PP+). 
  1637.  
  1638. The .EXTLINK statement has the following syntax : 
  1639.  
  1640. | .EXTLINK database 'topic-identifier' 
  1641. | [.TITLE topic-title] 
  1642. | [.REFERENCE topic-numeric-reference] 
  1643. | [.KEYWORDS keyword [keyword ..] ] 
  1644. | [.GROUPS group [group ..] ] 
  1645. | .END-EXTLINK 
  1646.  
  1647. Where database is the name of the external database that the link is in, 
  1648. topic-identifier is the id of the link in the external database, title, 
  1649. keywords and groups have the same meaning as in the .TOPIC definition, and the 
  1650. topc-numeric-reference is a numeric reference associated with the topic, in the 
  1651. external database, if this is needed. 
  1652.  
  1653. Related Topics : 
  1654. Technical Documentation 
  1655. .HDF Syntax 
  1656. Help Compiler 
  1657.  
  1658.  
  1659. ΓòÉΓòÉΓòÉ 23. Extending HDF ΓòÉΓòÉΓòÉ
  1660.  
  1661.  
  1662. The HDF syntax can be extended by creating "User Defined Link Templates", with 
  1663. these templates special links can be created, that can be used to support 
  1664. additional link types. 
  1665.  
  1666. In order to create a user link template, use the following statement : 
  1667.  
  1668. | .USERLINK userlink-id template 
  1669.  
  1670. Where userlink-id is the name of the template, and template defines the way the 
  1671. link will be translated. 
  1672.  
  1673. The template can include the following substitution characters : 
  1674.  
  1675. %%        - Replace with a % 
  1676. %t        - Replace with the text of the link 
  1677. %k        - Replace with the key of the link 
  1678. %1, %2, .. %5  - Replace with parameter #x 
  1679. %o        - Replace with target (output) database name. 
  1680. %c        - Replace with context-id (topic name) of current topic. 
  1681. %n        - Replace with a carrige-return and newline characters. 
  1682. %r1, %r2, ..   - Replace with the resolution number of the topic-id in 
  1683.          parameter x. This is needed for links in IPF (OS/2) and 
  1684.          PopHelp targets. 
  1685. %g1, %g2, ..   - Replace with the graphic object whose id is in parameter x. 
  1686. %s1, %s2, ..   - Replace with the sound object whose id is in parameter x. 
  1687. %a1, %a2, ..   - Replace with the application object, whose id is in parm x. 
  1688. %e1, %e2, ..   - Replace with the embedded object, whose name is in parm x. 
  1689.          Notice, that only the file name and extension are returned, 
  1690.          while in the %gx, %sx and %ax, the entire path is returned. 
  1691.  
  1692. User links can be used in the topic text with the following syntax : 
  1693.  
  1694.   .. some text ~link-text~userlink-id(param1 param2 ..)~ .. more text 
  1695.  
  1696. Use this command to extend the HDF syntax. You can even create special 
  1697. libraries to support video/animation etc.. from the help databases, with these 
  1698. extensions. 
  1699.  
  1700. e.g. - To create a link to a topic, with a graphic bitmap, we could define the 
  1701. following User Link : (Example for winHelp/MMViewer) 
  1702.  
  1703. | .userlink graphicJump '{\uldb \{bmc %g1\} %t}{\v %2}' 
  1704.  
  1705. And assuming we defined a graphic object as 
  1706.  
  1707. | .graphic mypicture ronp.bmp 
  1708.  
  1709. We could create a graphic links such as : 
  1710.  
  1711.  Click ~Ron Loewy~graphicJump(mypicture ronTopic)~ to know about the author. 
  1712.  
  1713. In the target RTF this will be translated to : 
  1714.  
  1715.  Click {\uldb \{bmc ronp.bmp\} Ron Loewy}{\v ronTopic} to know about the 
  1716. author. 
  1717.  
  1718. HLPDK includes a standard system extension library, that uses userlink 
  1719. templates to support in-paragraph text attributes, extended grtaphic, video, 
  1720. CDAudio, animation and other multimedia items. Please refer to the HDKLIB.DOC 
  1721. file for additional information. 
  1722.  
  1723. Related Topics : 
  1724. Technical Documentation 
  1725. Links 
  1726. .HDF Syntax 
  1727. Help Compiler 
  1728.  
  1729.  
  1730. ΓòÉΓòÉΓòÉ 24. Topic Index Format ΓòÉΓòÉΓòÉ
  1731.  
  1732.  
  1733.  
  1734.  The topic index table format is as follows : 
  1735.  
  1736.  TOPIC   - 40 characters string key - this is the topic "name". 
  1737.  FILENAME  - 38 characters string field - includes the name of the 
  1738.        help raw data file. (Notice - V1.0 ignores the value of this 
  1739.        field, it is here for future expansion). 
  1740.  START   - longint (long) field that contains the offset from the data file 
  1741.        start, to the start of the topics text data, in bytes. 
  1742.  LEN    - longint (long) field that contains the length (in bytes) of the 
  1743.        text data of the topic. 
  1744.  TITLE   - 70 characters string key - the title of the topic. 
  1745.  TTYPE   - 1 character - topic type. Currently supported types are : 
  1746.        'T' = Topic. 
  1747.        'P' = Popup. 
  1748.  
  1749. Related Topics : 
  1750. Technical Documentation 
  1751. Links Index Format 
  1752. Keywords Index Format 
  1753. Set File Format 
  1754.  
  1755.  
  1756. ΓòÉΓòÉΓòÉ 25. Links Index Format ΓòÉΓòÉΓòÉ
  1757.  
  1758.  
  1759.  
  1760.  The links index table format is as follows : 
  1761.  
  1762.  TOPIC   - 40 characters string key - the name of the topic that 
  1763.        has the link. 
  1764.  SEQ    - integer (int) key - contains the sequential number of 
  1765.        the link in the topic. (This way you can assign the links 
  1766.        order in the topic). 
  1767.  LINK    - 40 characters string key - the name of the link topic to 
  1768.        display if the link is chosen. 
  1769.  LINE    - integer (int) field - the line (from the start of the topic) 
  1770.        this link is displayed on. 
  1771.  COL    - integer (int) field - the column this link is displayed on. 
  1772.  TXT    - 70 characters string field - the text to display on the line. 
  1773.  
  1774. Related Topics : 
  1775. Technical Documentation 
  1776. Topic Index Format 
  1777. Keywords Index Format 
  1778. Set File Format 
  1779.  
  1780.  
  1781. ΓòÉΓòÉΓòÉ 26. Set File Format ΓòÉΓòÉΓòÉ
  1782.  
  1783.  
  1784. The set file is a text file that contains one entry in each line, using the 
  1785. following format : 
  1786.  
  1787. help-database-engine 
  1788. version-of-generating-compiler 
  1789. topic-index-table name 
  1790. links-index-table name 
  1791. keywords-index-table name 
  1792. help-raw-data-file name 
  1793. number-of-topics 
  1794. length-of-file 
  1795. link-normal-color 
  1796. link-high-color 
  1797. text-normal-color 
  1798. contents-topic-name 
  1799.  
  1800. The help-database-engine values available today are DEF=Paradox and MEM=memory 
  1801. Tables. 
  1802.  
  1803. Related Topics: 
  1804. Technical Documentation 
  1805. Topic Index Format 
  1806. Links Index Format 
  1807. Keywords Index Format 
  1808.  
  1809.  
  1810. ΓòÉΓòÉΓòÉ 27. Keywords Index Format ΓòÉΓòÉΓòÉ
  1811.  
  1812.  
  1813.  
  1814.  The keywords index table format is as follows : 
  1815.  
  1816.  KEYWORD  - 40 characters string key - the keyword. 
  1817.  TOPIC   - 40 characters string key - the topic name that this keyword is 
  1818.        assigned to. 
  1819.  
  1820.  Notice - the database will include a row for each keyword, that has the 
  1821.  TOPIC field blank. This is used to display the first list of keywords, that 
  1822.  if chosen, will display the 2nd list of topics that have the chosen keyword 
  1823.  in their .KEYWORDS definition. 
  1824.  
  1825. Related Topics: 
  1826. Technical Documentation 
  1827. Topic Index Format 
  1828. Links Index Format 
  1829. Set File Format 
  1830.  
  1831.  
  1832. ΓòÉΓòÉΓòÉ 28. Related Products ΓòÉΓòÉΓòÉ
  1833.  
  1834.  
  1835.  
  1836. The following products/packages provide additional HLPDK functionality : 
  1837.  
  1838. 1. Name     : IL2HDK - Interrupt List (Ralf Brown) 2 HLPDK convert program. 
  1839.   Version    : 3.0, 3.1 
  1840.   Availability : IL2HDK30.ZIP. (Dos), IL2HDK31.ZIP. (OS/2) 
  1841.   Status    : Free. 
  1842.   Author    : Ron Loewy. 
  1843.  
  1844. 2. Name     : HPCHDK - HelpPC 2 HLPDK convert program. 
  1845.   Version    : 1.0 
  1846.   Availability : HPCHDK10.ZIP. 
  1847.   Status    : Free. 
  1848.   Author    : Yaniv Golan (s2942275@tech02.technion.ac.il) 
  1849.  
  1850. 3. Name     : SCANHELP - Turbo Pascal Scanner to help. 
  1851.   Version    : 3.13 
  1852.   Availability : SCANH313.ZIP (Contact Author) 
  1853.   Status    : Shareware. 
  1854.   Author    : Duncan J. Murdoch (dmurdoch@mast.QueensU.CA) 
  1855.  
  1856. 4. Name     : NG2HDK - Norton Guides 2 HLPDK convert program. 
  1857.   Version    : 1.0 
  1858.   Availability : NG2HDK10.ZIP 
  1859.   Status    : Free. 
  1860.   Author    : Ron Loewy. 
  1861.  
  1862. 5. Name     : NEWSDB - usenet News Clips Hypertext generator. 
  1863.   Version    : 1.0. 
  1864.   Availability : NEWSDB10.ZIP 
  1865.   Status    : Shareware. 
  1866.   Author    : Ron Loewy. 
  1867.  
  1868. 6. Name     : POPHDK - POPHELP 2 HLPDK convert program. 
  1869.   Version    : 1.0 
  1870.   Availability : POPHDK10.ZIP. 
  1871.   Status    : Free. 
  1872.   Author    : Yaniv Golan (s2942275@tech02.technion.ac.il) 
  1873.  
  1874. 7. Name     : JARG2HDK - Jargon File to HLPDK convert program. 
  1875.   Version    : 1.0 
  1876.   Availability : ? (Contact Author) 
  1877.   Status    : ? 
  1878.   Author    : Slren Pingel Dalsgaard (pingel@daimi.aau.dk) 
  1879.  
  1880. 8. Name     : RC2HDK - Windows Resource File Help Template Generator. 
  1881.   Version    : 1.0 
  1882.   Availability : RC2HDK10.ZIP. 
  1883.   Status    : Shareware. 
  1884.   Author    : Ron Loewy. 
  1885.  
  1886. 9. Name     : CPFHDK - C++ FAQ 2 HLPDK convert program. 
  1887.   Version    : 1.0 
  1888.   Availability : Contact author. 
  1889.   Status    : Free ? 
  1890.   Author    : Yaniv Golan (s2942275@tech02.technion.ac.il) 
  1891.  
  1892. Currently under development : RTF2HDK, TPF2HDF, HDKEDIT and more .. 
  1893.  
  1894.  
  1895. ΓòÉΓòÉΓòÉ 29. Table Of Contents ΓòÉΓòÉΓòÉ
  1896.  
  1897.  
  1898.  
  1899.  Application Launch 
  1900.  Command Line 
  1901.  Complex Projects (Multiple file target databases) 
  1902.  Conditional Defines 
  1903.  CONTACT 
  1904.  CREDITS 
  1905.  Exception Handling 
  1906.  Extending HDF 
  1907.  HPLDK Distribution File List 
  1908.  Native Graphics Support 
  1909.  Groups Definition and Usage 
  1910.  Help Definition Format 
  1911.  Help Compiler 
  1912.  The Help Engine 
  1913.  Keywords Index Format 
  1914.  Links Index Format 
  1915.  Links - internal/external and special 
  1916.  Native Database Structure 
  1917.  Related Products 
  1918.  HLPDK System Overview 
  1919.  Quick Start 
  1920.  Registration 
  1921.  Set File Format 
  1922.  Native Sound Support 
  1923.  Technical Documentation 
  1924.  Text Attributes 
  1925.  Topic Index Format 
  1926.  Table Of Contents 
  1927.  Trouble Shooting 
  1928.